#include <stdio.h>
#include <unistd.h>
#include <string.h>

int main()
{
  //c接口
  printf("hello printf\n");
  fprintf(stdout,"hello fprintf\n");
  const char* fputsString = "hello fputs\n";
  fputs(fputsString, stdout);

  //系统接口
  const char* wstring = "hello write\n";
  write(1, wstring, strlen(wstring));

  //代码结束之前，进行创建子进程
  //1.如果我们没有进行>，看到了4条信息
  //stdout默认是行刷新，在进程fork之前，三条C函数已经打印，FILE内部，进程内部清除数据
  //2.如果我们进行了>,写入文件不再是显示器，而是普通文件，采用的刷新策略是全缓冲，数据没有被刷新
  //执行fork的时候，stdout属于父进程，创建子进程时，创建子进程时，紧接着就是进程退出！谁先退出，一定要进行缓冲区刷新（就是修改）
  //写时拷贝！！
  //3.write没有FILE，就没有C提供的缓冲区
  fork();//fork
  
  return 0;
}
